#include <cstdio>
#include <stdlib.h>
//我们对修改的部分进行差分，每次操作只会用两次操作，降低了一维的时间复杂度。
int line[10010];
int change[10010]; //修改的部分的差分
int n, q, p;

int main()
{
    scanf("%d", &n);
    for (int i = 1; i <= n; ++i)
        scanf("%d", &line[i]);

    //建立差分数组
    for (int i = 1; i <= n; i++)
    {
        if (i != 1)
            change[i] = line[i] - line[i - 1];
        else
            change[i] = line[i];
    }

    scanf("%d", &q);
    for (int i = 1; i <= q; ++i)
    {
        int a, b, val;
        scanf("%d %d %d", &a, &b, &val);
        change[a] += val;     //确保a之后元素都加上值
        change[b + 1] -= val; //确保b之后元素都减去值
    }

    for (int i = 1; i <= n; i++)
    {
        line[i] = line[i - 1] + change[i];
    } //得到新数组

    scanf("%d", &p);
    for (int i = 1; i <= p; ++i)
    {
        int temp;
        scanf("%d", &temp);
        printf("%d\n", line[temp]); // objective 3答案是什么？
    }
    //system("pause");
    return 0;
}
